package com.spzx.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.spzx.product.api.domain.*;

import java.util.List;

/**
 * @Author ChenXing
 * @Description
 * @Create 2024/7/29 11:01
 */
public interface IProductService extends IService<Product> {
    List<Product> selectProductList(Product product);

    int insertProduct(Product product);


    Product selectProductById(Long id);

    int updateProduct(Product product);

    int deleteProductByIds(Long[] ids);

    void updateAuditStatus(Long id, Integer auditStatus);

    void updateStatus(Long id, Integer status);

    List<ProductSku> getTopSale();

    List<ProductSku> selectProductSkuList(SkuQuery skuQuery);

    ProductSku getProductSku(Long skuId);

    Product getProduct(Long skuId);

    SkuPrice getSkuPrice(Long skuId);

    ProductDetails getProductDetails(Long skuId);

    SkuStockVo getSkuStockVo(Long skuId);

    List<ProductSku> ProductSkuList(Long id);

    List<SkuPrice> getSkuPriceList(List<Long> skuIds);

    String checkAndLock(String tradeNo, List<SkuLockVo> skuLockVoList);

    void unlock(String orderNo);

    void minus(String orderNo);
}
